#ifndef __MPOINT_H__
#define __MPOINT_H__

#include <ostream>

class MPoint
{
public:
	MPoint( float x = 0.0f, float y = 0.0f );
	MPoint( const MPoint& point );
	MPoint& operator = ( const MPoint& point );

	~MPoint();

	void	setX( float x );
	float	x() const;

	void	setY( float y );
	float	y() const;

	MPoint operator + ( const MPoint& point );
	MPoint& operator += ( const MPoint& point );
	MPoint operator - ( const MPoint& point );
	MPoint operator * ( const MPoint& point );
	MPoint operator / ( const MPoint& point );
	bool	operator > ( const MPoint& point );
	friend std::ostream& operator << ( std::ostream& stream, const MPoint& point );
	
	MPoint operator + ( float n );
	MPoint operator - ( float n );
	MPoint operator * ( float n );
	MPoint operator / ( float n );
	bool	operator > ( float n );
private:
	float _x, _y;
};

MPoint abs( MPoint& point );

#endif